:root {
  /* color palette */
  --color-primary: #1890ff;
  --color-primary-light: #40a9ff;
  --color-primary-dark: #096dd9;
  --color-success: #52c41a;
  --color-warning: #fa8c16;
  --color-danger: #f5222d;
  --color-info: #722ed1;

  --text-primary: #262626;
  --text-secondary: #8c8c8c;
  --text-disabled: #bfbfbf;

  --border-light: #d9d9d9;
  --border-strong: #bfbfbf;
  --bg-body: #f5f5f5;
  --bg-card: #ffffff;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 10px 24px rgba(0, 0, 0, 0.12);

  /* spacing scale (8px based) */
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
  --spacing-xl: 32px;
  --spacing-xxl: 48px;

  /* radiuses */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;

  /* typography */
  --font-family-base: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
    'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-md: 16px;
  --font-size-lg: 20px;
  --font-size-xl: 24px;
  --line-height-base: 1.5;

  /* layout */
  --header-height: 64px;
  --sidebar-width: 240px;
  --sidebar-width-collapsed: 70px;
}

[data-theme='dark'] {
  --bg-body: #0f1114;
  --bg-card: #1f2329;
  --text-primary: #f5f5f5;
  --text-secondary: #c9c9c9;
  --border-light: #2e3238;
  --border-strong: #4b4f56;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.35);
  --shadow-lg: 0 10px 24px rgba(0, 0, 0, 0.4);
}
